package com.huashi.dealer.modular.business.writeoff.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.huashi.dealer.commonEntity.UserWriteoffLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

/**
 * 核销相关Mapper接口
 *
 * @author 系统生成
 * @since 2025-01-27
 */
@Mapper
@Component("apiWriteoffMapper")
public interface WriteoffMapper extends BaseMapper<UserWriteoffLog> {

    /**
     * 获取用户核销日志列表
     * @param userId 用户ID
     * @param page 分页参数
     * @param type 查询类型：10-当月，20-当前季度
     * @return 核销日志列表
     */
    Page<UserWriteoffLog> getWriteoffLogList(@Param("userId") Long userId,
                                             @Param("page") Page<UserWriteoffLog> page,
                                             @Param("type") Integer type);

    /**
     * 根据场景类型获取核销日志
     * @param userId 用户ID
     * @param scene 场景类型
     * @param page 分页参数
     * @return 核销日志列表
     */
    Page<UserWriteoffLog> getWriteoffLogByScene(@Param("userId") Long userId, 
                                                @Param("scene") Integer scene, 
                                                @Param("page") Page<UserWriteoffLog> page);

    /**
     * 添加核销变动记录
     * @param writeoffLog 核销日志
     * @return 插入结果
     */
    int insertWriteoffLog(@Param("writeoffLog") UserWriteoffLog writeoffLog);
} 